import numpy as np
from PIL import Image
import matplotlib.pyplot as plt

# 1. 图像加载（使用PIL库）
image = Image.open('face.png')  # 替换为你的图片路径
im = np.array(image)  # 转换为NumPy数组（RGB格式）

# 2. 像素反转函数（RGB模式）
def invert_image_rgb(image_array):
return 255 - image_array  # NumPy的广播机制自动处理所有像素

# 3. 执行反转
inverted_im = invert_image_rgb(im)

# 4. 显示对比
plt.figure(figsize=(10, 5))

# 显示原图
plt.subplot(1, 2, 1)
plt.imshow(im)
plt.title("原始图像 (RGB)")
plt.axis('off')

# 显示反转图
plt.subplot(1, 2, 2)
plt.imshow(inverted_im)
plt.title("颜色反转图像")
plt.axis('off')

plt.tight_layout()
plt.show()

# 5. 保存结果
Image.fromarray(inverted_im).save('inverted_rgb.png')
print("反转图像已保存为 inverted_rgb.png")

